package guoanmaker.operator.business.service;

import guoanmaker.operator.business.model.AppOutServerClass;
import guoanmaker.operator.business.model.OperatorServerClass;
import org.springframework.data.domain.Page;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author huZhaoyu 
 * @ClassName: OperatorServerClassServiceInterface 
 * @Description: OperatorServerClassServiceInterface
 * @date 2017/6/29
 */
public interface OperatorServerClassServiceInterface {

    /** 
    * @Title: saveServerClass
    * @Description: 新增/修改 服务分类
    * @param：OperatorRoundPhoto   
    * @return OperatorServerClass    
    * @throws 
    */
    OperatorServerClass saveServerClass(OperatorServerClass operatorServerClass);

    /** 
    * @Title: getAllServerClass
    * @Description: 查询所有服务分类
    * @param：void  
    * @return List<OperatorServerClass>   
    * @throws 
    */
    List<OperatorServerClass> getAllServerClass();

    /** 
    * @Title: getAllServerClassByPage
    * @Description: 查询全部服务分类并分页 
     * @param：Integer page 页码  
     * @param：Integer size 条数 
    * @return Page<OperatorServerClass>   
    * @throws 
    */
    Page<OperatorServerClass> getAllServerClassByPage(Integer page, Integer size);

    /** 
     * @Title: getServerClassByPageOrderByWeight
     * @Description: 按权重排序查询服务分类并分页 
     * @param：Integer page 页码  
     * @param：Integer size 条数 
     * @return Page<OperatorServerClass>   
     * @throws 
     */
    Page<OperatorServerClass> getServerClassByPageOrderByWeight(Integer page, Integer size);


    /** 
    * @Title: deleteServerClassById
    * @Description: 根据Id删除服务分类 
    * @param： String id   
    * @return void   
    * @throws 
    */
    void deleteServerClassById(String id);

    /** 
    * @Title: getServerClassById 
    * @Description: 根据Id查询服务分类
    * @param： String id
    * @return OperatorServerClass    
    * @throws 
    */
    OperatorServerClass getServerClassById(String id);

    /** 
     * @Title: countAllById 
     * @Description: 根据Id查询服务分类
     * @param： String id
     * @return Integer    
     * @throws 
     */
    Integer countAllById();

    /** 
     * @Title: getByPAndParentServerId 
     * @Description: 根据父Id查询服务分类
     * @param： String parentServerId
     * @return  ArrayList<OperatorServerClass>    
     * @throws 
     */
    ArrayList<OperatorServerClass> getByParentServerId(String parentServerId);
    
   List<AppOutServerClass> getAllServerClassByFirst(String cityId);
   
   List<OperatorServerClass> getAllServerClassByFirstlevel(String parentServerId);
   
   List<OperatorServerClass> getAllServerClassFirstLevel();
   List<OperatorServerClass> getAllServerClassTwoLevel();
   
   
   public void aaa(String serverId);
   
   Map selectValitaByid(String serverid);
   
   List<AppOutServerClass> selectTrueServerClass();

}
